<template>
    <!-- 总容器 -->
    <div class="wrapper">
        <header>
            <i class="fa fa-angle-left" onclick="history.go(-1)"></i>
            <p>体检报告</p>
            <div></div>
        </header>

        <nav>
            <div :class="{ active: result === 1 }" @click="showResult">总检结论</div>
            <div :class="{ active: detailed === 1 }" @click="showDetailed">报告详情</div>
        </nav>

        <div class="top-ban"></div>

        <div v-if="result == 1" class="nav-content-item">
            <div class="item">
                <div class="title">异常项</div>
                <ul>
                    <li v-for="(error, index) in report_conclusion.error_data" :key="index">
                        <div class="indications">
                            <div class="left">
                                <div>异</div>
                                <p>{{ error.name }}</p>
                            </div>
                            <div class="right">
                                <p>{{ error.value }}</p>
                                <p>正常值范围：&lt;{{ error.normalValueString }}</p>
                            </div>
                        </div>
                    </li>
                </ul>
            </div>
            <div class="item">
                <div class="title">一、尊敬的顾客，您本次体检结论如下：</div>
                <ul>
                    <li class="conclusion-title" v-for="(conclu, index) in report_conclusion.conclusion" :key="index">
                        {{ index + 1 }}、{{ conclu.title }}</li>
                </ul>
            </div>
            <div class="item">
                <div class="title">二、尊敬的顾客，您本次体检建议信息日下：</div>
                <ul>
                    <li v-for="(conclu, index) in report_conclusion.conclusion" :key="index" class="conclusion-content">
                        <h3>{{ index + 1 }}、{{ conclu.title }}</h3>
                        <p>
                            {{ conclu.content }}
                        </p>
                    </li>
                </ul>
            </div>
        </div>

        <div v-else class="nav-content-item">
            <div class="item">
                <!-- 遍历 report_detailed -->
                <div v-for="(checkitem, checkIndex) in report_detailed" :key="checkIndex">
                    <div class="title">{{ checkitem.name }}</div>
                    <ul>
                        <!-- 遍历 report_detailed[checkIndex].list -->
                        <li v-for="(detailed, dIndex) in checkitem.list" :key="dIndex">
                            <div class="indications">
                                <div class="left">
                                    <div v-if="detailed.isError == 1">异</div>
                                    <p>{{ detailed.name }}</p>
                                </div>
                                <div class="right">
                                    <p>{{ detailed.value }}</p>
                                    <p>正常值范围：{{ detailed.normalValueString }}</p>
                                </div>
                            </div>
                        </li>
                    </ul>
                </div>
            </div>
        </div>

        <div class="bottom-ban">
            <Foot></Foot>
        </div>

    </div>

</template>

<script>
import Foot from '../components/Foot.vue'
import { ref, toRefs, toRef, reactive } from 'vue';
import axios from '../axios';
import { useRouter, useRoute } from 'vue-router';
import { ClickOutside } from 'element-plus';
import { getSessionStorage } from '../common';

export default {
    components: { Foot },

    setup() {

        const route = useRoute()
        const state = reactive({
            orderId: route.query.orderId,
            report_conclusion: {},
            report_detailed: {},
            detail_list: []
        })


        const result = ref(1)
        const detailed = ref(0)

        function showResult() {
            result.value = 1
            detailed.value = 0
        }

        function showDetailed() {
            detailed.value = 1
            result.value = 0
        }

        load_report_conclusion()
        function load_report_conclusion() {
            axios.post("/api/getreportconclusion", {
                orderId: state.orderId
            },{
                headers: {
                    'token': getSessionStorage('token') // 手动添加 token
                }
            })
                .then(function (response) {
                    console.log(response.data.data)
                    state.report_conclusion = response.data.data
                })
                .catch(function (error) {
                    console.log(error)
                })
        }

        load_report_detailed()
        function load_report_detailed() {
            axios.post("/api/getreportdetail", {
                orderId: state.orderId
            },{
                headers: {
                    'token': getSessionStorage("token")
                }
              })
                .then(function (response) {
                    console.log(response.data.data)
                    state.report_detailed = response.data.data
                })
                .catch(function (error) {
                    console.log(error)
                })
        }
        return {
            ...toRefs(state),
            result,
            detailed,
            showResult,
            showDetailed,
            load_report_conclusion,
            load_report_detailed
        }
    }
}
</script>

<style>
/*********************** 总容器 ***********************/
.wrapper {
    width: 100%;
    height: 100%;
    background-color: #F9F9F9;
}

/*********************** header ***********************/
header {
    width: 100%;
    height: 15.7vw;
    background-color: #FFF;

    position: fixed;
    left: 0;
    top: 0;

    display: flex;
    align-items: center;
    justify-content: space-between;

    box-sizing: border-box;
    padding: 0 3.6vw;
}

header .fa {
    font-size: 8vw;
}

/*********************** common样式 ***********************/
.top-ban {
    width: 100%;
    height: 31.7vw;
}

.bottom-ban {
    width: 100%;
    height: 14.2vw;
}

/*********************** nav ***********************/
nav {
    width: 100%;
    height: 16vw;
    display: flex;
    background-color: #F9F9F9;

    position: fixed;
    left: 0;
    top: 15.7vw;
}

nav div {
    flex: 1;
    height: 14vw;
    box-sizing: border-box;

    text-align: center;
    line-height: 14vw;
    font-size: 4.2vw;
    font-weight: 600;
    color: #555;
}

.active {
    border-bottom: solid 2px #137E92;
    color: #137E92;
}

/*********************** nav-content-item ***********************/
.nav-content-item .item {
    width: 92vw;
    margin: 0 auto;
    margin-top: 3vw;
    margin-bottom: 3vw;
    overflow: hidden;
    border-radius: 3vw;
    background-color: #FFF;
}

.nav-content-item .item .title {
    width: 100%;
    height: 10vw;
    background-color: #7BAFD7;
    line-height: 10vw;
    box-sizing: border-box;
    padding-left: 4vw;
    font-size: 4.2vw;
    color: #FFF;
}

.nav-content-item .item ul {
    width: 100%;
}

/****** 数值型检查项样式 ******/
.nav-content-item .item ul li {
    border-bottom: solid 1px #EEE;
}

.nav-content-item .item ul li:last-child {
    border-bottom: none;
}

.nav-content-item .item ul li .indications {
    width: 100%;
    height: 14vw;
    padding: 0 3vw;
    display: flex;
    align-items: center;
    font-size: 3.2vw;
    color: #333;
}

.nav-content-item .item ul li .indications .left {
    flex: 1;
    display: flex;
}

.nav-content-item .item ul li .indications .left div {
    background-color: #BA634E;
    color: #FFF;
    padding: 0.2vw 0.6vw;
    border-radius: 0.6vw;
}

.nav-content-item .item ul li .indications .left p {
    font-weight: 600;
    margin-left: 2vw;
}

.nav-content-item .item ul li .indications .right {
    flex: 1;
}

.nav-content-item .item ul li .indications .right p:last-child {
    color: #999;
}

/****** 数值型检查项样式 ******/

/****** 描述型检查项样式 ******/
.nav-content-item .item ul li .indications-type-4 {
    width: 100%;
    box-sizing: border-box;
    padding: 0 3vw;

    font-size: 3.2vw;
    color: #333;
}

.nav-content-item .item ul li .indications-type-4 div {
    margin: 5vw 0;
}

.nav-content-item .item ul li .indications-type-4 div:first-child {
    font-weight: 600;
}

.nav-content-item .item ul li .indications-type-4 div:last-child {
    color: #999;
}

/****** 描述型检查项样式 ******/

.nav-content-item .item ul .conclusion-title {
    width: 100%;
    height: 12vw;
    box-sizing: border-box;
    border-bottom: solid 1px #EEE;
    padding: 0 3vw;

    display: flex;
    align-items: center;
    font-size: 4vw;
    color: #555;
}

.nav-content-item .item ul .conclusion-title:last-child {
    border-bottom: none;
}

.nav-content-item .item ul .conclusion-content {
    width: 100%;
    box-sizing: border-box;
    border-bottom: solid 1px #EEE;
    padding: 4vw 3vw;
    font-size: 3.6vw;
    color: #555;
}

.nav-content-item .item ul .conclusion-content:last-child {
    border-bottom: none;
}

.nav-content-item .item ul .conclusion-content h3 {
    font-size: 4vw;
    font-weight: 600;
    margin-bottom: 2vw;
}

.nav-content-item .item ul .conclusion-content p {
    text-indent: 8vw;
}
</style>